package com.cn.springcloudwechat.service.vaccinstation;

import com.cn.springcloudwechat.model.YmStationVaccine;
import com.cn.springcloudwechat.model.vaccine.YmVaccine;
import com.cn.springcloudwechat.model.vaccine.YmVaccineType;

import java.util.List;
import java.util.Map;

/**
 * 疫苗服务站关联关系service
 * @author: Administrator
 * @create: 2018/8/31 14:43
 */
public interface YmStationVaccineService {

    /**
     *  添加关联关系 (单个)
     * @param record
     * @return
     */
    void insertSelective(YmStationVaccine record);

    /**
     * 查询疫苗服务站关联关系
     * @param stationVaccineId  站点疫苗Id
     * @return
     */
    YmStationVaccine selectByPrimaryKey(Long stationVaccineId);

    /**
     * 更新疫苗站疫苗关系
     * @param list
     * @param stationId
     * @param state
     * @return
     */
    void updateByPrimaryKeySelective( List<Long>list,Long stationId);

    /**
     * 批量添加疫苗服务站关联关系
     * @param stationId
     * @param list
     */
    void insertYmStationVaccineBatch(Long stationId, List<Long> list);

    /**
     * 查询服务站下所有疫苗
     * @param stationId
     * @param vaccineName
     * @return
     */
    List<YmVaccineType>getVaccineTypeByStationId(Long stationId,String vaccineName);

    /**
     *根据疫苗类型查询疫苗剂次
     * @param vaccineTypeId
     * @return
     */
    List<YmVaccine> getYmVaccineByVaccineTypeId(Long childeId,Long vaccineTypeId);

    /**
     * 修改疫苗接种状态
     * @param orderVaccinationId
     */
    void  updateUserOrderState(Long orderVaccinationId);

    /**
     * 查询所有预约记录
     * @param childId
     * @return
     */
    List<Map<String,Object>>queryVaccineOrderPlanAllMapper(Long childId);

    /**
     * 获取挂号数
     * @param orderDate
     * @return
     */
    Integer getRowNumber(String orderDate,Long stationID);

}
